Data processing method for minimizing potential errors occurring during linear and circular interpolation

ABSTRACT

Successive linear or circular arc path segments are represented by successive &#39;&#39;&#39;&#39;blocks&#39;&#39;&#39;&#39; of data. A corrective change is made in the data block representing a given path segment if the preceding path segment did not terminate exactly at its designated end point.

United States Patent POTENTIAL ERRORS OCCURRING DURING LINEAR AND CIRCULAR INTERPOLATION 17 Claims, 68 Drawing Figs.

U.S.Cl. 235/151. Int. Cl. G05b 19/30 [50] Field ofSearch ...235/l5l.ll, I52; 3l8/20.l30, 20.110, 20.108, 20.132 IE [56] References Cited UNITED STATES PATENTS 3,443,178 5/1969 Reuteler 3 l 8/l8 Primary ExaminerEugene G. Botz Attorney-Wolfe, Hubbard, Leydig, Voit & Osann ABSTRACT: Successive linear or circular arc path segments are represented by successive blocks" of data. A corrective change is made in the data block representing a given path segment if the preceding path segment did not terminate exactly at its designated end point.

1000 {1100 1200 I 1300 l 1400 I 1500 l 4600 4700-] 4800 4900 Wfl UPDATE xsc (AX/10 xsC xsc XCP- xs g 0! UPDATE YsC (AY Iu I we Ysc UPDATE YSC(AY/10 Ysc YSC YCP Ys g lfl UPGRADE v UPGRADE I XCP TO BY PAGE END /2 4 DOWNCRADE T UPGRADE COMPUTE If UlGRAlJk-L vz YCP TO AX YCP TO CORRECTION YCI T0 if MID-PAGE 7 PAGE-END To I OF PACE END 44 NEXT BLOCK /7 DvANC =/4 COMPUTE ADD I BUF. COMPUTE CQMPUTE E0 s3 r/i FON s2 'lxQ STORE! JXQ IXQ DETERMINE v COMPUTE Z0 FAST AXIS L USE +1 IF cw r14 CORRECTION ,1.

CHECK sLow "\/3 USE IF CCW ADD YR To J OF 5;

AXIS FOR NEXT BLOCK PROXIMITY TO STORE AY 4! ADD J EUR 8 STORE AY STORE AX END POINT STORE YR sToRE J -'Z4 sToRE YR STORE xR PROJECT ;p .4; z;

FAST AXIS ADD OFFSETS BY oNE WHEN MACRQMOVE 2J3 TRANSFERRING COMPUTE --Jf P r29 OVERRUN "34 ADD OFFSETS START TAPE TRANSFERRING AND OVERRUN l YEP 23] y ADVANCE TO AND sLow ADVANCE [my] $15 AXIS cLosE TO EOB FROM 5 ADVANCE TO END PoINT 53 TO 514 S16 REDUCE N GO ADVANCE To ovERRUN INTO 81 AND GO BY 1/2 MODE 4 INTo MACR0MovE OPERATION MODE 1 ADVANCE To --43 OPERATION 53 IF ON 52 AND STILL THE LAsT MACHOMOVE OF A CIRCULAR PATH SEGMENT IN SHOW AN WHICH A LARGE OVERRUN HAS BEEN DETECTED, CAUsING QVEHRUN SET-UP CALCULATIONS FOR ENTERING A LINEAR PATH SEGMENT PATENTED JAN] 1 I972 3.634.661

SHEET 05 [1F 45 I PATENTED JAM 1 m2 SHEET 080F 15 rUJrM mama] Jam 1 m2 7 3,634,861 SHEET lUUF 45 ARTHUR 0. F/TZNER 5) 

1. A method of operating an iterative data processing appaRatus to generate final digital signals which change with time to define a path along X- and Y-axes composed of a series of path segments joined at designated path segment end points P, any segment being either linear or circular, said method including the steps of a. representing by digital signals in said apparatus the X- and Y-components I and J of each linear path segment, and the X and Y coordinate distances I and J from the starting point of each circular path segment to the center of each said circular path segment, b. causing said apparatus to measure off successive periods of Delta T in actual time, c. processing the digital signals for the first of said path segments to derive therefrom first and second sets of digital signals representing target positions to be reached along said X- and Y-axes at the ends of successive ones of said periods Delta T, d. progressively changing said final digital signals during successive ones of said periods Delta T to extend the defined path along said X- and Y-axes to the target positions for said respective time periods, e. terminating the extension of said first path segment along both of said X- and Y-axes at the end of a period Delta T which is either
 1. the first time period Delta T for which the target point along a selected one of said X- and Y-axes is past the corresponding coordinate of the designated end point P of said path segment, or
 2. the time period Delta T preceding said first time period, said method being characterized by the additional steps of f. producing digital signals representing the I and J components of the next path segment altered respectively by the X and Y coordinate distances from the actual end point reached at the termination of said first path segment to the designated end point P of said first path segment, g. processing the digital signals representing the altered I and J components corresponding to said next path segment to derive therefrom first and second sets of signals representing the target positions to be reached along said X- and Y-axes at the end of successive ones of said time periods Delta T; h. performing steps (d) and (e) for said next path segment, and i. repeating steps (f), (g) and (h) for each succeeding path segment.
 2. the time period Delta T preceding said first time period, said method being characterized by the additional steps of f. producing digital signals representing the I and J components of the next path segment altered respectively by the X and Y coordinate distances from the actual end point reached at the termination of said first path segment to the designated end point P of said first path segment, g. processing the digital signals representing the altered I and J components corresponding to said next path segment to derive therefrom first and second sets of signals representing the target positions to be reached along said X- and Y-axes at the end of successive ones of said time periods Delta T; h. performing steps (d) and (e) for said next path segment, and i. repeating steps (f), (g) and (h) for each succeeding path segment.
 2. to the center of said next path segment if said next path segment is to be circular.
 2. In a method of operating an iterative data processing apparatus to produce final digital signals which change with time to define a path along X- and Y-axes composed of a series of path segments joined at designated path segment end points P, any segment being either linear or circular, said method including the steps of a. representing by digital signals in said apparatus the X and Y components I and J of each linear path segment and the X and Y coordinate distances I and J from the starting point of each circular path segment to the center of each such circular path segment, b. deriving for the first of said path segments, from its signaled I and J components, digital signals representing successive target positions to be reached at regularly recurring successive time instants along the X and Y axes, c. progressively changing said final digital signals to extend the defined path through said first path segment along said X and Y axes toward its designated end point P in accordance with said target positions, and d. terminating said first path segment close to its designated end point P, the improvement comprising the steps of e. producing digital signals in said apparatus representing the I and J components of the next path segment altered respectively by the X and Y coordinate distances from the actual end point reached at the termination of said path segment to the designated end point P of the path segment being terminated, and f. utilizing said altered I and J components to produce digital signals representing successive target positions along tHe X and Y axes for the next path segment.
 3. In a method of operating an iterative data processing apparatus to generate final digital signals which change with time to define a path along X and Y axes composed of a series of path segments joined at designated path segment end points P, any segment being either linear or circular, said method including the steps of a. representing by digital signals in said apparatus the X- and Y-components I and J of each linear path segment and the X- and Y-coordinate distances I and J from each circular path segment starting point to the center of each such circular path segment, b. deriving for the first of said path segments, from its signaled I and J components, digital signals representing successive target positions to be reached at regularly recurring instants along the X- and Y-axes, c. progressively changing said final digital signals to extend the defined path through said first path segment along said X and Y axes toward its designated end point P in accordance with said target positions, (c1) terminating said first path segment near its designated end point, and d. producing digital signals representing the I and J components Inext and Jnext of the next path segment, the improvement comprising the additional steps of e. determining, and representing by digital signals, the X and Y coordinate departures Delta X and Delta Y from the actual end point reached at the termination of said first path segment to the designated end point P of the said first path segment, and f. processing the signals representing said components Inext and Jnext and said departures Delta X and Delta Y to digitally signal therefrom a pair of modified components In Inext+ Delta X and Jn Jnext+ Delta Y, and utilizing the signaled components In and Jn to perform steps (b) and (c) for said next path segment, thereby compensating the next path segment for the error in termination of the first path segment.
 4. In a method of operating an iterative data processing apparatus to generate final digital signals which change with time to define a path along X and Y axes composed of a series of path segments joined at designated path segment end points P, any segment being either linear or circular, said method including the steps of a. representing by digital signals in said apparatus the X and Y components I and J of each linear path segment and the X and Y coordinate distances I and J from the starting point of each circular path segment to the center of each such circular path segment; b. deriving for the first of said path segments, from its signaled I and J components, digital signals representing successive target positions to be reached at regularly recurring instants along the X and Y axes, c. progressively changing said final digital signals to extend the defined path through said first path segment along said X and Y axes toward its designated end point P in accordance with said target positions, d. terminating said first path segment near its designated end point P and at an actual terminating end point which is one of said target positions e. producing digital signals representing the I and J components Inext and Jnext of the next path segment, the composite vector of said components Inext and Jnext extending from the designated end point of said first path segment, the improvement comprising the additional step of f. processing said Inext and Jnext signals to derive therefrom digital signals representing said Inext and Jnext components so modified as to change their composite vector until it extends from said actual terminating end point of said first path segment
 5. In a method of operating an iterative data processing apparatus to generate final digital signals which change with time to define a path along X and Y axes composed of a series of linear path segments joined at designated path segment end points P, said method including the steps of a. representing by digital signals in said apparatus the X and Y components I and J of the first of said path segments, b. deriving for said first path segment from the digital signals representing its I and J components further digital signals representing successive target positions to be reached at regularly recurring instants along the X and Y axes, c. progressively changing said final digital signals to extend the defined path through said first path segment along said X and Y axes toward its designated end point P in accordance with said target positions, and d. terminating said first path segment close to its designated end point and at an actual terminating end point which is one of said target positions, the improvement comprising the steps of e. producing digital signals representing the X and Y coordinate distances In and Jn from the actual point of termination of said first path segment to the designated end point P of the next path segment, and f. utilizing the digital signals representing said distances In and Jn to produce digital signals representing successive target positions along the X and Y axes for said next path segment.
 6. The method set out in claim 1, further including the steps of: d1. computing and digitally signaling, during each of the periods Delta T, the forecasted overrun distance along one of said axes from (i) the designated end point P for said first segment to (ii) the target position to be reached at the end of the next succeeding period Delta T, e1. carrying out said step (e) according to the phrase (e)(1) whenever said signaled forecasted overrun distance is greater than one-half the distance along said one axis between successive target points being signaled as defined in step (c), and e2. carrying out said step (e) according to the phrase (e)(2) whenever said signaled overrun distance is less than one-half the distance along said one axis between successive target points being signaled as defined in step (c).
 7. The method set out in claim 1, wherein said step (e) includes: e1. during each time period Delta T, comparing for one of the X and Y axes, the coordinate of the designated end point P of the first segment with the coordinate of the target point to be reached at the end of the next period Delta T, to detect and signal if a forecasted overrun may occur during such next period, e2. determining and signaling whether said forecasted overrun is greater or less than one-half the distance along said given one axis between successive target points, and e3. terminating the extension of said first path segment (i) at the end of the time period Delta T in which a forecasted overrun greater than said one-half is signaled, or (ii) at the end of the time period Delta T which next follows a period Delta T in which a forecasted overrun less than said one-half is signaled.
 8. The method set out in claim 7 further characterized in that said one axis is that one of the X or Y axes for which the progressive change of said final digital signals occurs at the fastest rate.
 9. The method defined in claim 2 further including the steps of c1. determining and signaling during the interval between each pair of time instants ta and tb whether the target position to be reached at the next succeeding instant tc will result in a forecasted overrun aLong the fast axis beyond the fast axis coordinate of the designated end point P for the first segment, c2. in response to such signaling of an overrun, carrying out said step (d) to terminate the extension of said first path segment either (i) at the instant tb if the forecasted overrun along the fast axis is greater than one-half the distance between successive target positions or (ii) at the instant tc if the forecasted overrun along the fast axis is less than one-half the distance between successive target positions.
 10. The method defined in claim 9 further including operations to determine whether the path being defined by said progressively changing final digital signals is in fact approaching a designated end point P having coordinates Xp, Yp relative to orthogonal X and Y axes, and comprising the steps of c3. generating first and second digital signals representing first and second coordinates spaced apart along the slow axis of path progression and lying respectively farther than and nearer than the corresponding coordinate Xp or Yp from the origin of said axes, c4. determining and signaling if said corresponding coordinate Xp or Yp lies between said first and second spaced apart coordinates, and c5. executing said step (c2) as recited in claim 13 only if signaling is produced as a consequence of said step (c4).
 11. The method determined by claim 3 wherein said steps (e) and (f) include: f1. digitally signaling a pair of modified components In Inext+ Delta X and Jn Jnext+ Delta Y wherein the respective additions of the terms Delta X and Delta Y are performed in an algebraic sense taking into account the sign of such terms, and e1. determining and signaling the departures Delta X and Delta Y by computations Delta X XCEP-SCP Delta Y YCEP-YCP where XCP and YCP are respectively the signed coordinates of the actual end point at termination of said first path segment, and XCEP and YCEP are respectively the signed coordinates of the designated end point P for the first path segment.
 12. In a method of operating an iterative data processing apparatus to generate final digital signals which change with time to define a path relative to X and Y axes and composed of a series of circular arc path segments joined at designated segment end points P, the steps which include a. representing by digital signals in said apparatus the coordinates XCEP and YCEP of the successive end points P for the successive segments, b. representing by digital signals in said apparatus the X and Y components I and J of a radius vector extending from the beginning point on a first path segment to the center of the arc for such segment, c. deriving, from the digital signals representing said components I and J for the first segment, further digital signals representing successive target positions to be reached at regularly recurring time instants along the X and Y axes, d. progressively changing said final digital signals to extend the defined path through the first path segment relative to said axes toward its designated end point coordinates XCEP and YCEP, e. terminating said progressive change and the extension of the path along said first segment when the defined path reaches an actual terminating end point having coordinates XCP, YCP near the designated end point coordinates XCEP, YCEP for the first segment, f. producing digital signals representing the X and Y components In and Jn of a radius vector extending from said actual terminating end point coordinates XCP, YCP to the center of the arc for the next succeeding arcuate path segment, and g. utilizing said last-named digital signals representing In and Jn to produce digital signals representing successive target positions along the X and Y axes for said next succeeding path segment.
 13. A method of operating an iterative data processing apparatus to determine and signal whether a path, defined by final digital signals which progressively change with time, along two mutually orthogonal axes is approaching a designated end point represented by digitally signaled coordinates XCEP and YCEP, said method comprising: a. generating successively in said apparatus first and second digital signals representing first and second coordinates PL1 and PL2 spaced apart along one of said axes and which are respectively farther than and nearer than the corresponding one of the coordinates XCP or YCP of a point to be actually reached in the immediate future on the path defined by said final digital signals, b. determining by computation in said apparatus whether or not the corresponding one of the digitally signaled coordinates XCEP and YCEP lies between said first and second coordinates PL1 and PL2, and c. signaling the approach to the designated end point only if the determination in step (b) is affirmative.
 14. The method defined in claim 13 further characterized in that said step (b) includes: b1. processing said first digital signals representing the coordinate PL1 to produce an upper bracket signal Bu only if the corresponding one of the designated end point coordinates XCEP or YCEP lies between said origin and said first coordinate PL1, b2. processing said second digital signals representing the coordinate PL2 to produce a lower bracket signal B1 only if said coordinate PL2 lies between said origin and the corresponding one of the designated end point coordinates XCEP or YCEP, b3. affirmatively signaling-that the corresponding one of the coordinates XCEP or YCEP lies between said first and second coordinates PL1 and PL2,-only if both said upper and lower bracket signals Bu and B1 are produced.
 15. The method set forth in claim 13 further characterized in that look-ahead overrun computations are made to determine and signal when an overrun is about to occur along the fast axis of the path, and said one axis recited in claim 17 is the slow axis of the path.
 16. A method of operating an iterative data processing apparatus to determine and signal whether a path, defined by final digital signals which progressively change with time, along two mutually orthogonal axes is approaching a designated end point represented by digitally signaled coordinates XCEP and YCEP, said method comprising: a. generating successively in said apparatus first and second digital signals representing first and second coordinates PL1 and PL2 spaced apart along one of said axes and which are respectively farther than and nearer than the corresponding one of the end point coordinates XCEP or YCEP, b. determining by computation in said apparatus whether or not the corresponding one of the coordinates XCP or YCP of a point to be actually reached in the immediate future on the path defined by said final digital signals lies between said first and second coordinates PL1 and PL2, and c. signaling the approach to the designated end point only if the determination in step (b) is affirmative.
 17. The method defined in claim 16 further characterized in that said step (b) includes: b1. processing said first digital signals representing the coordinate PL1 to produce an upper bracket signal Bu only if the corresponding one of the path point coordinates XCP or YCP lies between said origin and said first coordinate PL1, b2. processing said second digital signals representing the coordinate PL2 to produce a lower bracket signal B1, only if said coordinate PL2 lies between said origin and the corresponding one of the path point coordinates XCP or YCP, aNd b3. affirmatively signaling-that the corresponding one of the path point coordinates XCP or YCP lies between said first and second coordinates PL1 and PL2-only if both said upper and lower bracket signals Bu and B1 are produced. 